In many digital data processing tasks, the ability to shift a digital word a predetermined number of bits in one direction or another is required. A simple example is the division of a digital data word by two. This is accomplished by a right shift of the bits by one place with a zero filling the vacated most significant bit.
A barrel shifter is a well known logic structure the function of which is to provide the capability of left- or right-shifting digital words by any required amount. Typically, barrel shifters also provide zero-filling, wrap-around and other functions as may be required in the processing system for which the shifter is designed.
The basic architecture of a simple barrel shifter may be thought of as a large array of bit lines with switchable interconnections therebetween. Appropriate selection of the interconnections to be activated provides the required shifts. An example of such a device is disclosed in U.S. Pat. No. 4,338,675. As is apparent, this array, and the resulting signal path lengths, grows rapidly with an increase in the size of the digital words to be handled. This is costly of die area in an integrated circuit implementation. In addition, the increasing capacitive loading of the signal paths results in slower response and/or higher power requirements, both of which are banes of the integrated circuit designer.